Tool tracking system

ABSTRACT

A wireless transmission system logs and communicates a location of an object. The wireless transmission system includes a wireless antenna configured to transmit a first beacon signal and a second advertising beacon signal. The system also includes a processor and a memory that stores instructions executable by the processor. The instructions cause the wireless antenna to repeatedly transmit the first beacon signal through a first number of transmission repetitions spaced at a first repeat interval. After completing the first number of transmission repetitions, the wireless antenna withholds transmission during a transition interval. After the transition interval, the wireless antenna repeatedly transmits the second advertising beacon signal through a second number of transmission repetitions at a second repeat interval. The wireless antenna, memory, and processor may be integrated in to a mountable housing and attached to an object or integrated with the tool.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/798,627, filed on Oct. 31, 2017, which makes reference to, claimspriority to, and claims the benefit of U.S. Provisional PatentApplication Ser. No. 62/415,290, filed on Oct. 31, 2016, all of whichare incorporated herein by reference in their entirety.

FIELD OF THE INVENTION

The present invention relates to communication and logging of locationfor tools and other devices.

SUMMARY

In some embodiments, a signaling method is used to communicate and logthe location of a tool. In some embodiments, the method includesrepeatedly transmitting, by a a beacon transmitter, a first beaconsignal through a first number of transmission repetitions spaced at afirst repeat interval. After completing the first number of transmissionrepetitions, the beacon transmitter withholds transmission during atransition interval. The method further includes repeatedlytransmitting, by the beacon transmitter, a second advertising beaconsignal through a second number of transmission repetitions at a secondrepeat interval.

In some embodiments, the first repeat interval is of a length differentfrom a length of the second repeat interval. In some embodiments, thefirst repeat interval is of a fixed length different from a fixed lengthof the second repeat interval. In some embodiments, the first beaconsignal is a signal for alerting a receiving application to the presenceof the beacon transmitter the second advertising beacon signal. In someembodiments, the second advertising beacon signal is a signal forproviding identification of the beacon transmitter transmitting thesecond advertising beacon signal. In some embodiments, the first beaconsignal is a signal using a first open protocol for alerting a receivingapplication to the presence of the beacon transmitter transmitting thesecond advertising beacon signal. In some embodiments, the secondadvertising beacon signal is a signal using a second proprietaryprotocol for providing identification of the beacon transmittertransmitting the second advertising beacon signal. In some embodiments,the first repeat interval is of a length that is less than 1/50th of alength of the second repeat interval. In some embodiments, aftercompleting the second number of transmission repetitions, the beacontransmitter returns to the repeatedly transmitting the first beaconsignal through the first number of transmission repetitions spaced atthe first repeat interval.

In some embodiments, a wireless signal transmission system is providedincluding a transmitter and a memory. The transmitter is configured totransmit a first beacon signal and a second advertising beacon signal.The memory stores instructions executable on a processor to cause thetransmitter to repeatedly transmit the first beacon signal through afirst number of transmission repetitions spaced at a first repeatinterval; after completing the first number of transmission repetitions,withhold transmission during a transition interval; and repeatedlytransmit the second advertising beacon signal through a second number oftransmission repetitions at a second repeat interval.

In some embodiments of the system, the first repeat interval is of alength different from a length of the second repeat interval. In someembodiments of the system, the first beacon signal is a signal foralerting a receiving application to the presence of the beacontransmitter transmitting the second advertising beacon signal, and thesecond advertising beacon signal is a signal for providingidentification of the beacon transmitter transmitting the secondadvertising beacon signal. In some embodiments of the system, the firstbeacon signal is a signal using a first open protocol for alerting areceiving application to the presence of the beacon transmittertransmitting the second advertising beacon signal, and the secondadvertising beacon signal is a signal using a second proprietaryprotocol for providing identification of the beacon transmittertransmitting the second advertising beacon signal. In some embodimentsof the system, the first repeat interval is of a length that is lessthan 1/50th of a length of the second repeat interval.

In some embodiments, a location recording method is provided. The methodincludes receiving, wirelessly by a personal wireless device having anelectronic processor, a first beacon signal. The method furtherincludes, responsive to receiving the first beacon signal, activating adormant transmitter location logging application on the electronicprocessor of the personal wireless device. The transmitter locationlogging application then listens for a second advertising beacon signal.The personal wireless device receives, wirelessly, the secondadvertising beacon signal. Responsive to receiving the secondadvertising beacon signal, a location of a transmitter that transmittedthe second advertising beacon signal is logged.

In some embodiments, the first beacon signal is a signal for alerting areceiving application of the personal wireless device to the presence ofa beacon transmitter transmitting the second advertising beacon signal,and the second advertising beacon signal is a signal for providingidentification of the beacon transmitter transmitting the secondadvertising beacon signal.

In some embodiments, the first beacon signal is a signal using a firstopen protocol for alerting a receiving application to the presence of abeacon transmitter transmitting the second advertising beacon signal,and the second advertising beacon signal is a signal using a secondproprietary protocol for providing identification of the beacontransmitter transmitting the second advertising beacon signal. In someembodiments, the method further includes an operating system of apersonal wireless device receiving the first beacon signal, wherein theactivating the dormant transmitter location logging application furthercomprises the operating system activating the dormant transmitterlocation logging application. In some embodiments, the logging alocation of the transmitter that transmitted the second advertisingbeacon signal further comprises reporting to an external database anidentity and a location of the transmitter that transmitted the secondadvertising beacon. In some embodiments, the method further includeswaiting through a first number of transmission repetitions spaced at afirst repeat interval; after the first number of transmissionrepetitions, waiting during a transition interval; and receiving thesecond advertising beacon signal through a second number of transmissionrepetitions at a second repeat interval.

Other aspects of the invention will become apparent by consideration ofthe detailed description and accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates a diagram of a beacon transmitter for locationreporting according to embodiments of the invention.

FIG. 1B illustrates a front view of a beacon transmitter according toembodiments of the invention.

FIG. 2 depicts an object location tracking system including the beacontransmitter of FIGS. 1A-B attached to an object, according toembodiments of the invention.

FIG. 3 is a flowchart for a method of communication by a beacontransmitter for location reporting according to embodiments of theinvention.

FIGS. 4A-B illustrate examples of timing diagrams for a series oftransmissions by a beacon transmitter for location reporting accordingto embodiments of the invention.

FIG. 5 depicts a first beacon diagram for a first beacon signaltransmittable by a beacon transmitter for location reporting accordingto embodiments of the invention.

FIG. 6 depicts a second beacon diagram for a second beacon signaltransmittable by a beacon transmitter for location reporting accordingto embodiments of the invention.

FIG. 7A is a flowchart for a method for implementing location reportingfor a receiving device in communication with a beacon transmitteraccording to embodiments of the invention.

FIG. 7B is a flowchart for a method for implementing location reportingfor a receiving device in communication with a beacon transmitteraccording to embodiments of the invention.

FIG. 8 is a flowchart for a method for processing location tracking databy a location server according to embodiments of the invention.

FIG. 9 depicts a user interface for a device implementing locationreporting for a receiving device in communication with a beacontransmitter for location reporting according to embodiments of theinvention.

FIG. 10 illustrates an exemplary computer system for implementinglocation reporting according to embodiments of the invention.

FIG. 11A-B illustrates an exemplary power tool incorporating the beacontransmitter of FIG. 1A for location reporting according to embodimentsof the invention.

DETAILED DESCRIPTION

Before any embodiments of the invention are explained in detail, it isto be understood that the invention is not limited in its application tothe details of construction and the arrangement of components set forthin the following description or illustrated in the following drawings.The invention is capable of other embodiments and of being practiced orof being carried out in various ways.

It should also be noted that a plurality of hardware and software baseddevices, as well as a plurality of different structural components, maybe used to implement the invention. In addition, it should be understoodthat embodiments of the invention may include hardware, software, andelectronic components or modules that, for purposes of discussion, maybe illustrated and described as if the majority of the components wereimplemented solely in hardware. However, one of ordinary skill in theart, and based on a reading of this detailed description, wouldrecognize that, in at least one embodiment, the electronic based aspectsof the invention may be implemented in software (e.g., stored onnon-transitory computer-readable medium) executable by one or moreprocessors. As such, it should be noted that a plurality of hardware andsoftware based devices, as well as a plurality of different structuralcomponents may be utilized to implement the invention. Furthermore, andas described in subsequent paragraphs, the specific mechanicalconfigurations illustrated in the drawings are intended to exemplifyembodiments of the invention and that other alternative mechanicalconfigurations are possible. For example, “controllers” described in thespecification can include standard processing components, such as one ormore processors, one or more computer-readable medium modules, one ormore input/output interfaces, and various connections (e.g., a systembus) connecting the components. In some instances, the controllersdescribed in the specification may be implemented in one of or acombination of a general processor, an application specific integratedcircuit (ASIC), a digital signal processor (DSP), a field programmablegate array (FPGA), or the like.

FIG. 1A illustrates a beacon transmitter 100 for location reportingaccording to embodiments of the invention. The beacon transmitter 100,also referred to as a transmitting device, includes a battery 110 (alsoreferred to as a power source), a controller 125, a power block 130, awireless antenna 140, an input/output (I/O) port 145, a memory 160, userinput 155, sensors 170, and user output 175. As described in furtherdetail below, the beacon transmitter repeatedly transmits, via thewireless antenna 140, a first beacon signal and a second advertisingbeacon signal according to a transmission pattern, which, in someembodiments, enables power-efficient location tracking of the beacontransmitter 100 and objects to which it is attached.

The battery 110 provides direct current (DC) power to the power block130. The battery 110 includes a housing within which is one or morebattery cells, such as lithium ion (“Li-ion”) cells, Nickel-Cadium(“Ni-Cad”) cells, or cells of another chemistry type. In someembodiments, the battery 110 is a coin cell battery. In someembodiments, the beacon transmitter 100 includes another power source inaddition to the battery 110 or in place of the battery 110, such as acircuit for connection to alternating current power (e.g., including arectifier), photovoltaic cells and related circuitry for solar-basedpower generation, or a wind-based power generator.

The power block 130 is coupled to the battery 110 via the terminals (notshown) of the battery 110 and matching terminals (not shown) of thepower block 130. The power block 130 provides DC power to components ofthe beacon transmitter 100. The power block 130 may include powerregulating and conversion circuitry to ensure that the power provided tovarious components of the beacon transmitter 100 is at the appropriatelevel(s).

The controller 125 is further coupled to the wireless antenna 140 andthe input/output (I/O) port 145. As will be described in greater detailbelow, the power block 130, wireless antenna 140, and I/O port 145enable the beacon transmitter 100 to communicate with external devicesand may be collectively referred to as a physical interface.

The controller 125, which may be an electronic processor, is incommunication with the memory 160. In some embodiments, the memory 160stores and provides to the controller 125 for transmission the datamaking up the first beacon signal and the second advertising beaconsignal, which are described in further detail below. The memory 160further includes, among other elements, instructions that are executedby the controller 125 to control the functions of the beacon transmitter100 described herein. Although the instructions are described assoftware stored in memory 160 and executed by the controller 125, theinstructions may be implemented in part or wholly in hardware of thecontroller 125 or outside of the controller 125. For example, theinstructions may be implemented by one or more separate digital signalprocessors (DSPs) or general purpose processors executing theinstructions, or by one or more field programmable gate arrays (FPGAs)or application specific integrated circuits (ASICs). Although the memory160 is shown as a singular unit, the memory 160 may be made up ofvarious memories individually coupled to the controller 125 or coupledto the controller 125 via a bus. Additionally, portions of the memory160 may be embedded within the controller 125. For instance, parameterssuch as a status of battery 110 may be stored within a memory of thecontroller 125. The data stored in the memory 160 described herein maybe provided from an external computing device via the wireless antenna140 or I/O port 145 and stored in the memory 160 by the controller 125.

The user input 155 and sensors 170 include one or more of buttons,microphones, accelerometers, temperature sensors, humidity sensors, andlight sensors capable of detecting external stimuli from the environmentor the user. The user output 175 includes one or more of LEDs, aspeaker, a vibrating element, etc. to inform the user of the status ofthe beacon transmitter 100. For example, if an error occurs, such as lowbattery power, the beacon transmitter 100 may output an audible alert,an LED may flash, and/or the vibrating element may provide tactilefeedback to the user. The user output 175 may be controlled by outputsignals from the controller 125.

The controller 125 is further coupled to the wireless antenna 140 andthe I/O port 145. As described in further detail below, the controller125 may transmit wireless communications via the wireless antenna 140and may receive wireless communications via the wireless antenna 140.The I/O port 145 may include a wired connection for the beacontransmitter 100 to enable, for example, programming of the beacontransmitter 100 or data export from the beacon transmitter 100.

FIG. 1B illustrates an embodiment of the beacon transmitter 100including a housing 180 with mounting holes 182. The various componentsof the beacon transmitter 100 illustrated in FIG. 1A are located withinand supported by the housing 180. The mounting holes 182 are configuredto receive fasteners (e.g., screws) to secure the beacon transmitter 100to an object to be tracked. Other securing elements are used in someembodiments, such as an adhesive pad on the back of the housing 180 (notshown). In some embodiments, the beacon transmitter 100 includes ahousing having one or more of a different shape, differently positionedmounting holes, and different elements for mounting to objects.

FIG. 2 depicts an object location tracking system 200 including thebeacon transmitter 100 attached to an object 210, illustrated as aladder. In some embodiments, the beacon transmitter 100 is secured tothe object 210 using an adhesive, hook and loop fasteners, or the like,rather than via fasteners through the mounting holes 182. The beacontransmitter 100 communicates via wireless signals 202 (e.g., Bluetooth™low energy transmissions) with a personal wireless device 204 configuredto receive such signals. The personal wireless device 204 (also referredto as a receiving device) may be, for example, a mobile smart phone,laptop computer, desktop computer, personal digital assistant (PDA), orother receiving device. Personal wireless device 204 communicates via anetwork 206 with a location server 208. Example computer systems thatmay implement personal wireless device and location server 208 arediscussed below with respect to FIG. 10. The network 206 may include onemore of a local area network (LAN), wide area network (WAN) (e.g., theInternet), a cellular network, or other networks.

In some embodiments, the beacon transmitter 100 is integrated within anobject to be tracked. For example, with respect to FIGS. 11A-B, thebeacon transmitter 100 is integrated into a power tool 1100, which isdescribed in further detail below.

As described in further detail below, the personal wireless device 204receives beacon data from the beacon transmitter 100 via the wirelesssignals 202. The beacon data may include one or more of a transmitteridentifier, a user identifier, user contact information, timestamp,state of charge of the battery 110, an object identifier (identifyingthe object 210), and other status information. In turn, the personalwireless device 204(a) logs the beacon data locally on a memory of thepersonal wireless device 204, (b) sends tracking data, based on thebeacon data, to the location server 208 for logging, or (c) both logsthe beacon data and sends the tracking data.

The location server 208 includes a tracking database 212. A trackingapplication may be executed by a processor of the location server 208 toreceive tracking data from the personal wireless device 204, update thetracking database 212, and to receive and respond to database queriesfor the tracking database 212. The tracking database 212 stores trackingdata for the beacon transmitter 100 including one or more of atransmitter identifier, a user identifier (e.g., an owner of the beacontransmitter 100), user contact information, timestamp, last knownlocation, state of charge of the battery 110, other status information,personal wireless device identifier (e.g., identifying the most recentpersonal wireless device 204 that received communications from thebeacon transmitter and communicated to the location server 208), andlocation history (e.g., including previous known locations, timestamps,and personal wireless device identifiers). The tracking database 212also stores a lost/not-lost indication (e.g., a flag) that indicates,based on a value of the indicator, whether the beacon transmitter 100 isconsidered “lost” or “not lost.”

Although a single beacon transmitter 100 is illustrated in FIG. 2, insome embodiments, the system 200 includes a plurality of beacontransmitters 100, each used to track a different object. Similarly,although a single personal wireless device 204 is illustrated in FIG. 2,in some embodiments, the system 200 includes a plurality of personalwireless devices 204 that may each receive wireless signals 202 from oneor more of the personal wireless devices 204 and that may eachcommunicate with the location server 208 over the network 206 or anothernetwork. Accordingly, the tracking database 212 stores and updatestracking data for each beacon transmitter 100 in the system 200 based oncommunications from the one or more personal wireless devices 204.

Although the location server 208 is illustrated as a singular unit, thelocation server 208 may be made up of various servers located togetheror remotely and coupled via one or more networks. Similarly, thetracking database 212 may be made up of various databases incommunication with one another.

Although the object 210 is illustrated in FIG. 2 as being a ladder, thebeacon transmitter 100 may be mounted on various other objects includingother types of tools and accessories. For example, the beacontransmitter 100 may be mounted on and used with hand tools, power tools,test and measurement equipment, battery packs, vacuum cleaners, worksite radios, outdoor power equipment, and vehicles. Other tools on whichversions of the beacon transmitter 100 may be mounted include drills,circular saws, jig saws, band saws, reciprocating saws, screw drivers,angle grinders, straight grinders, hammers, multi-tools, impactwrenches, rotary hammers, impact drivers, angle drills, pipe cutters,grease guns, and the like. Test and measurement equipment can includedigital multimeters, clamp meters, fork meters, wall scanners, IRthermometers, laser distance meters, laser levels, remote displays,insulation testers, moisture meters, thermal imagers, inspectioncameras, and the like. Vacuum cleaners can include stick vacuums, handvacuums, upright vacuums, carpet cleaners, hard surface cleaners,canister vacuums, broom vacuums, and the like. Outdoor power equipmentcan include blowers, chain saws, edgers, hedge trimmers, lawn mowers,trimmers, and the like. Other tools on which versions of the transmittermay be mounted include devices such as electronic key boxes,calculators, cellular phones, head phones, cameras, motion sensingalarms, flashlights, worklights, weather information display devices, aportable power source, a digital camera, a digital music player, aradio, and multi-purpose cutters.

FIG. 3 is a flowchart for a method 300 of communication by a beacontransmitter for location reporting according to embodiments of theinvention. The method of FIG. 3 is described with respect to the system200; however, the method may be similarly applicable to other devicesand systems. In block 302, the beacon transmitter 100 repeatedlytransmits a first beacon signal through a first number of transmissionrepetitions spaced at a first repeat interval. In some embodiments, thefirst beacon signal is a signal for alerting a receiving application(e.g., of the personal wireless device 204) to the presence of thebeacon transmitter 100 that is transmitting the second advertisingbeacon signal. In some embodiments, the first beacon signal is a signalusing a first open protocol, such as iBeacon™, rather than a proprietaryprotocol.

After completing the first number of transmission repetitions, thebeacon transmitter 100 withholds further transmission (e.g., of thefirst beacon signal) during a transition interval (block 304). After thetransition interval, the beacon transmitter 100 repeatedly transmits asecond advertising beacon signal through a second number of transmissionrepetitions at a second repeat interval (block 306). In someembodiments, the second advertising beacon signal is a signal forproviding identification of a device (e.g., the beacon transmitter 100)transmitting the second advertising beacon signal. In some embodiments,the second advertising beacon signal is a signal using a secondproprietary protocol, rather than an open protocol, that is differentthan the protocol of the first beacon signal.

In some embodiments, the first repeat interval of block 302 is of alength different from a length of the second repeat interval of block306. In some embodiments, the first repeat interval of block 302 is of afixed length different from a fixed length of the second repeat intervalof block 306. In some embodiments, the first repeat interval of block302 is of a length that is less than a length of the second repeatinterval of block 306, such as less than 1/50th of a length of thesecond repeat interval of block 306. In some embodiments, the firstrepeat interval is set at 100 ms for purposes of standards compliance.In some embodiments, the second repeat interval is 7.8 seconds tocompromise between transmitter battery life and user experience. In someembodiments, an overall cycle time of 40 seconds results from theselection of the two intervals. In some embodiments, the first repeatinterval and the second repeat interval are selected to be the same. Oneof ordinary skill in the art will readily ascertain, in light of havingread the present disclosure that the selection of particular repeatintervals and cycle times will vary between embodiments withoutdeparting from the scope and intent of the present disclosure.

In some embodiments, after completing the second number of transmissionrepetitions in block 306, the process returns to block 302 to performthe repeatedly transmitting the first beacon signal through the firstnumber of transmission repetitions spaced at the first repeat interval.In some embodiments, a terminal interval elapses between the completingthe second number of transmissions in block 306 and returning to block302 perform the repeatedly transmitting the first beacon signal throughthe first number of transmission repetitions spaced at the first repeatinterval.

FIG. 4A illustrates an example of a timing diagram for a series oftransmissions 400 according to embodiments of the invention. The seriesof transmissions 400 may be, for example, transmissions resulting fromexecution of the flow chart illustrated in FIG. 3, and may betransmitted by the beacon transmitter 100. The series of transmissions400 includes a first beacon signal 402-408 that is repeatedlytransmitted through a first number (e.g., nine transmissions in theseries of transmissions 400) of transmission repetitions spaced at afirst repeat interval 410. For example, the first beacon signals 402-408are transmitted during execution of block 302 of FIG. 3. In the seriesof transmissions 400, an example embodiment uses a first repeat interval410 of 100 milliseconds (ms). While only a first repeat interval 410between the first beacon signal 402 and first beacon signal 404 islabeled, some embodiments employ first repeat intervals of equalduration between each of first beacon signals 402-408 and the respectivepreceding first beacon signal, but that labeling of those first repeatintervals is omitted in FIG. 4A in the interest of clarity ofillustration. Additionally, while a first repeat interval 410 of 100 msis illustrated in FIG. 4A, other repeat interval lengths for the firstrepeat interval 410 are used in some embodiments.

After completing the first number of transmission repetitions,transmission is withheld during a transition interval 412 (see, e.g.,block 304 of FIG. 3). In the series of transmissions 400, an exampleembodiment uses a transition interval 412 of 100 ms, although otherdurations are used in some embodiments. Additionally, while thetransition interval 412 is of a duration equal to the first repeatinterval 410, in some embodiments, durations of the transition interval412 will vary from durations of the first repeat interval 410. Further,while nine repetitions of first beacon signal 402-408 are shown FIG. 4A,other numbers of transmission repetitions of the first beacon signal402-408 are used in some embodiments.

A second advertising beacon signal 414-422 is repeatedly transmittedthrough a second number of transmission repetitions at a second repeatinterval 424. For example, the second advertising beacon signal 414-422are transmitted during execution of block 306 of FIG. 3. In the seriesof transmissions 400, an example embodiment uses a second repeatinterval 424 of 7800 ms. In the series of transmissions 400, an exampleembodiment resumes transmission of the first beacon signal 402 after aterminal repeat interval 426 of 7800 ms. While five repetitions of thesecond advertising beacon signal 414-422 are shown FIG. 4A, othernumbers of transmission repetitions of the second advertising beaconsignal 414-422 are used in some embodiments. Further, while terminalrepeat interval 426 is of a duration equal to the second repeat interval424, other interval durations for the terminal repeat interval 426 areused in some embodiments, and, in some embodiments, durations of theterminal repeat interval 426 will vary from durations of the secondrepeat interval 424. Additionally, while the second repeat interval 424is illustrated in FIG. 4A as 7800 ms, other repeat interval lengths forthe second repeat interval 424 are used in some embodiments.

The second advertising beacon signal 414-422 includes the beacon datanoted above, including one or more of a transmitter identifier, a useridentifier, user contact information, timestamp, state of charge of thebattery 110, and other status information.

In some embodiments, the series of transmissions 400 including the firstbeacon signals 402-408 and the second advertising beacon signals 414-422are transmitted using a 2.4 GHz Bluetooth™ low energy (BLE) signal.While a BLE signal is described as an example of a suitable radio beaconsignal, one of ordinary skill in the art will readily ascertain fromhaving read the present disclosure that other beacon signal types willbe used in various embodiments without departing from the scope andintention of the present disclosure.

Accordingly, in some embodiments, the series of transmissions 400includes a beaconing transmission pattern that uses two different beaconsignals (the first beacon signal 402-408 and the second advertisingbeacon signal 414-422) repeated in a pattern in which the first beaconsignal 402-408 is repeatedly transmitted using a first repeat interval410 and the second advertising beacon signal 414-422 is repeatedlytransmitted using a second repeat interval 424 that is longer than thefirst repeat interval 410. By using a longer interval, the rate oftransmission is decreased during the period of time that the secondadvertising beacon signal 414-422 is transmitted relative to the periodof time that the first beacon signal 402-408 is transmitted. Reducingthe rate of transmission in this period reduces power consumption of thebeacon transmitter 100 over the series of transmission 400 and extendsthe life of the battery 110.

FIG. 4B illustrates another example of a timing diagram for a series oftransmissions 400 b according to embodiments of the invention. In someembodiments, the series of transmissions 400 b are used in place of theseries of transmissions 400 of FIG. 4A. The series of transmissions 400b may be, for example, transmissions resulting from execution of theflow chart illustrated in FIG. 3, and may be transmitted by the beacontransmitter 100. The series of transmissions 400 b is similar to theseries of transmissions 400, and, accordingly, the previous discussionof the series of transmissions 400, including alternative embodiments,similarly applies to the series of transmissions 400 b, but for thedifferences described below. Accordingly, like elements between FIGS. 4Aand 4B are given like reference numerals with the addition of a “b” forthose shown in FIG. 4B, and the particular discussion of the similarelements is not repeated.

The series of transmissions 400 b in FIG. 4B is similar to the series oftransmissions 400 in FIG. 4A except for the number of transmissionrepetitions of the second advertising beacon signal 414 b, the durationof the second repeat interval 424 b, and the duration of the terminalrepeat interval 426 b. More particularly, in FIG. 4B, the first beaconsignal 402 b is transmitted nine times in repetition with the firstrepeat interval 410 b between each transmission being 100 milliseconds.Transmission is then withheld during the transmission interval 412 b for100 milliseconds. The second advertising beacon signal 414 b is thentransmitted eighteen times in repetition with the second repeat interval424 b between each transmission being 3280 milliseconds. Then,transmission is withheld during the terminal repeat interval 426 b for3340 milliseconds, before returning to the beginning of the series oftransmissions 400 b to resume transmission of the first beacon signal402 b. The total duration of the series of transmissions 400 b (asillustrated in FIG. 4B) is 60 seconds, which is 20 seconds longer thanthe total duration of the series of transmissions 400 (as illustrated inFIG. 4A).

To simplify the diagram of FIG. 4B, only the first instance of the firstbeacon signal 402 b (rather than all nine) and the first instance of thesecond advertising beacon signal 414 b (rather than all eighteen) arelabeled. Additionally, similar to the series of transmissions 400, inthe series of transmissions 400 b, the number of transmissionrepetitions of one or both of the first beacon signal 402 b and thesecond advertising beacon signal 414 b is varied in some embodiments, asis the duration of one or more of the first repeat interval 410 b, thetransmission interval 412 b, the second repeat interval 424 b, and theterminal repeat interface 426 b.

FIG. 5 depicts a first beacon diagram 500, which represents exemplarycontents of the first beacon signals 402-408 transmitted by the beacontransmitter 100 according to embodiments of the invention. The examplefirst beacon diagram 500 illustrates the iBeacon™ protocol and includesa 47-byte transmission includes a 1-byte preamble 502, a 4-byte accessaddress, which is generally set to the value 0x8E89BED6, a protocol dataunit (PDU) 506 of 2-39 bytes, and a cyclic redundancy check of 3 bytes.

PDU 506 includes a header 510 of 2 bytes, a MAC address 512 of 6 bytes,and data 514 of 0-31 bytes. Data 514 includes an iBeacon™ prefix 516 of9 bytes, a universally unique identifier (UUID) 518 of 16 bytes, a majorcomponent 520 of 2 bytes, a minor component 522 of 2 bytes, and atransmission power component 524 of 1 bytes. The UUID 518 may identify,uniquely, the device transmitting the signal (e.g., the beacontransmitter 100). In some embodiments, the first beacon signals 402-408may take the form of another open protocol different than that which isillustrated in FIG. 5. For example, the particular fields and thelengths of the fields (e.g., the number of bytes) in the first beaconsignals 402-408 illustrated in FIG. 5 is exemplary, and some embodimentsinclude additional fields, fewer fields, alternate fields, or fieldswith different lengths.

FIG. 6 depicts a second beacon diagram 600, which represents exemplarycontents of the second advertising beacon signals 414-422 transmitted bythe beacon transmitter 100 according to embodiments of the invention.The second beacon diagram 600 has various segments including a uniquelyidentifying product identifier (ID) 602 that uniquely identifies thetype of device transmitting the signal (e.g., the model of the beacontransmitter 100), a serial number 604 that uniquely identifies theparticular device from other devices of a similar type, and auniversally unique identifier (UUID) 606 that uniquely identifies theparticular device transmitting the signal (e.g., the beacon transmitter100). The second beacon diagram 600 also includes other segments 608 aswell, which may include data representing one or more of a useridentifier, user contact information, timestamp, state of charge of thebattery 110, and other status information. In some embodiments, thesecond advertising beacon signals 414-422 may take the form of anotherproprietary protocol different than that which is illustrated in FIG. 6.For example, the particular fields and the lengths of the fields (e.g.,the number of bytes) in the second advertising beacon signals 414-422illustrated in FIG. 6 is exemplary, and some embodiments includeadditional fields, fewer fields, alternate fields, or fields withdifferent lengths.

FIG. 7A is a flowchart for a method for implementing location reportingfor a receiving device in communication with a beacon transmitteraccording to embodiments of the invention. The method of FIG. 7A isdescribed with respect to the system 200; however, the method may besimilarly applicable to other devices and systems. In block 700, thepersonal wireless device 204 receives a first beacon signal, such as oneof the first beacon signals 402-410. Responsive to receiving the firstbeacon signal, a dormant transmitter location logging applicationexecuting on the personal wireless device 204 is activated (block 702).In some embodiments, an operating system of the personal wireless device204 receives the first beacon signal and activates the dormanttransmitter location logging application. In some embodiments, the firstbeacon signal is a signal using a first open protocol for alerting thereceiving application to the presence of the beacon transmitter 100transmitting the second advertising beacon signal.

The transmitter location logging application of the personal wirelessdevice 204 listens for a second advertising beacon signal (block 704).For example, to listen, the personal wireless device 204 may execute asoftware loop that repeatedly checks for a second advertising beaconsignal being received by a wireless antenna of the personal wirelessdevice 204. In block 706, the personal wireless device 204 receives thesecond advertising beacon signal, such as one of the second beaconsignals 416-422, from the transmitting device.

In block 708, a location of the beacon transmitter 100 that transmittedthe second advertising beacon signal is logged by the transmitterlocation logging application of the personal wireless device 204. Forexample, upon receipt of one of the second advertising beacon signals414-422 including the beacon data, the personal wireless device 204determines the transmitter identifier of the beacon transmitter 100based on beacon data, and determines the location of the personalwireless device 204 based on an output from a global navigationsatellite system (GNSS) receiver of the personal wireless device 204. Asone of skill in the art will readily ascertain from having read thepresent disclosure, while GNSS is described as an example of locationdetection, embodiments will include other forms of location awareness,such as registration of location (e.g. stored in a memory as part of aninitial set-up) or location detection through detection of wirelessnetworks, without departing from the scope and intent of the presentdisclosure. The personal wireless device 204 logs (e.g., stores in amemory) the determined location with the transmitter identifier of thebeacon transmitter 100 such that the location of the personal wirelessdevice 204 is logged as the location of the beacon transmitter 100.

In some embodiments, the additional information may be logged by thepersonal wireless device 204 for the beacon transmitter 100 in block708. For example, additional information from the beacon data includingone or more of a user identifier, user contact information, timestamp,state of charge of the battery 110, and other status information may belogged for the beacon transmitter 100 in block 708. Furthermore,additional information from the personal wireless device 204 may belogged for the beacon transmitter 100 in block 708, such as a timestamp(e.g., when not provided as part of the beacon data) and receivingdevice identifier that identifies the personal wireless device 204 orthe user thereof. The data that is logged by the personal wirelessdevice 204 in block 708 may be referred to as logged data for the beacontransmitter 100.

In some embodiments, the personal wireless device 204 further sends thelogged data, including the transmitter identifier and location of thebeacon transmitter 100 to the location server 208 for storage andprocessing. In some embodiments, the receiving device sends the loggeddata to the location server 208 each time block 708 is executed. Inother embodiments, the receiving device may be configured to delaysending the logged data when the receiving device has already sentsimilar data recently (e.g., within the past minute, ten minutes, orhour) to limit data transmissions and conserve power. In someembodiments, delaying transmission of the logged data enables thereceiving device to obtain further logged data for other beacontransmitters using a similar process and to bundle the logged data formultiple beacon transmitters for a single transmission.

In some embodiments, the method of FIG. 7A further includes, duringexecution of steps 700-706, the personal wireless device 204 waitingthrough a first number of transmission repetitions of the beacontransmitter 100 spaced at a first repeat interval, after the firstnumber of transmission repetitions, waiting during a transitioninterval, and, thereafter, receiving the second advertising beaconsignal through a second number of transmission repetitions of the beacontransmitter 100 spaced at a second repeat interval.

In some embodiments, the method of FIG. 7A occurs in the background ofthe personal wireless device 204 such that the receiving and logging ofinformation related to the beacon transmitter 100 occurs withoutparticular notifications to a user of the personal wireless device 204of the particular receiving and logging. For example, although thetransmitter location logging application may be activated from a dormantstate, the activation may occur in the background such that anapplication on the personal wireless device 204 currently displayinginformation on the personal wireless device 204 is not interrupted oraltered to provide a notification of the activation. Similarly, thelogged data may be logged on the personal wireless device 204 and sentto the location server 208 for logging without a particular notificationof these actions being provided to the user of the personal wirelessdevice 204.

In some embodiments, in addition to being able to be activated uponreceipt of the first beacon signal (e.g., as described with respect toblocks 700 and 702), the transmitter location logging application of thepersonal wireless device 204 may also be activated in response toreceiving a user activation input through a user interface. For example,the user activation input may include a user input indicating aselection of the transmitter location logging application for execution.In response to the user activation input, the receiving device proceedsto block 704-708 as previously described.

FIG. 7B is a flowchart for a method for implementing location reportingfor a receiving device in communication with a beacon transmitteraccording to embodiments of the invention. The method of FIG. 7B isdescribed with respect to the system 200; however, the method may besimilarly applicable to other devices and systems. In block 710, thepersonal wireless device 204 detects a beacon advertisement, such as oneof the first beacon signals 402-410. Responsive to detecting the beaconadvertisement, personal wireless device 204 wakes a dormant app fortransmitter location logging. In some embodiments, an operating systemof the personal wireless device 204 receives the beacon advertisementand wakes the dormant transmitter location logging application. In someembodiments, the beacon advertisement is a signal using a first openprotocol for alerting the receiving application to the presence of thebeacon transmitter 100 transmitting the second advertising beaconsignal. In some embodiments, the detected beacon advertisement is ageneric beacon advertisement that is not filtered based on, for example,the device type or device manufacturer that transmitted the beaconadvertisement. In other embodiments, a beacon advertisement isconsidered detected in step 710 after the personal wireless device 204determines that the beacon advertisement is a specific beaconadvertisement including information indicating that the beaconadvertisement was transmitted from a device of a particular type ormanufacturer.

The personal wireless device 204 then performs a scan (e.g., aBluetooth™ scan) for devices transmitting device-specific advertisements(block 712). For example, to scan, the personal wireless device 204 mayexecute a software loop that repeatedly checks for a device-specificadvertising beacon signal being received by a wireless antenna of thepersonal wireless device 204. In block 714, the personal wireless device204 discovers the device associated with each received device-specificadvertising beacon signal and, in response, saves to a local databasethe identity of each discovered device, a current longitude andlatitude, and a time stamp.

For example, upon receipt of one of the device-specific advertisements,such as second advertising beacon signals 414-422, including the beacondata, the personal wireless device 204 determines the transmitteridentifier of the beacon transmitter 100 based on the beacon data, anddetermines the location of the personal wireless device 204 based on anoutput from a global navigation satellite system (GNSS) receiver of thepersonal wireless device 204. The personal wireless device 204 logs(e.g., stores in a memory) the determined location with the transmitteridentifier of the beacon transmitter 100 such that the location of thepersonal wireless device 204 is logged as the location of the beacontransmitter 100.

In some embodiments, the personal wireless device 204 further sends thelogged data, including the transmitter identifier and location of thebeacon transmitter 100 to the location server 208 for storage andprocessing by periodically transmitting the data in the local databaseto an API for processing (block 716). In some embodiments, the receivingdevice sends the logged data to the location server 208 each time block714 is executed. In other embodiments, the receiving device may beconfigured to delay sending the logged data when the receiving devicehas already sent similar data recently (e.g., within the past minute,ten minutes, or hour) to limit data transmissions and conserve power. Insome embodiments, delaying transmission of the logged data enables thereceiving device to obtain further logged data for other beacontransmitters using a similar process and to bundle the logged data formultiple beacon transmitters for a single transmission.

In some embodiments, the method of FIG. 7B further includes, duringexecution of steps 710-716, the personal wireless device 204 waitingthrough a first number of transmission repetitions of the beacontransmitter 100 spaced at a first repeat interval, after the firstnumber of transmission repetitions, waiting during a transitioninterval, and, thereafter, receiving the second advertising beaconsignal through a second number of transmission repetitions of the beacontransmitter 100 spaced at a second repeat interval.

In some embodiments, the method of FIG. 7B occurs in the background ofthe personal wireless device 204 such that the receiving and logging ofinformation related to the beacon transmitter 100 occurs withoutparticular notifications to a user of the personal wireless device 204of the particular receiving and logging. For example, although thetransmitter location logging application may be activated from a dormantstate, the activation may occur in the background such that anapplication on the personal wireless device 204 currently displayinginformation on the personal wireless device 204 is not interrupted oraltered to provide a notification of the activation. Similarly, thelogged data may be logged on the personal wireless device 204 and sentto the location server 208 for logging without a particular notificationof these actions being provided to the user of the personal wirelessdevice 204.

In some embodiments, in addition to being able to be activated uponreceipt of the generic advertisement beacon (e.g., as described withrespect to blocks 710), the transmitter location logging application ofthe personal wireless device 204 may also be activated in response toreceiving a user activation input through a user interface. For example,the user activation input may include a user input indicating aselection of the transmitter location logging application for execution.In response to the user activation input, the receiving device proceedsto block 712-716 as previously described.

FIG. 8 is a flowchart for a method for processing location tracking databy the location server 208. The previously noted tracking applicationexecuted by a processor of the location server 208 may, in someembodiments, be used to implement the method of FIG. 8. In block 802,the location server 208 receives the logged data sent by the personalwireless device 204 (e.g., transmitted via the network 206). Forexample, as described above with respect to FIG. 7, the personalwireless device 204 may send logged data (e.g., logged in block 708)associated with the beacon transmitter 100 to the location server 208.In block 804, the location server 208 updates tracking data of thetracking database 212 with the logged data. For example, the locationtracking application executing on the location server 208 determines theidentity of the beacon transmitter 100 using the transmitter identifierwithin the logged data, and, further based on the logged data, updatesthe tracking data in the tracking database 212 associated with thedetermined beacon transmitter 100 including one or more of the useridentifier, user contact information, timestamp, last known location,state of charge of the battery 110, other status information, personalwireless device identifier, and location history.

In block 806, the location server 208 determines whether the beacontransmitter 100 is currently designated as “lost.” For example, thelocation tracking application executing on the location server 208 usesthe transmitter identifier from the logged data to query the trackingdatabase 212 to determine whether the lost/not-lost indicator indicatesthat the beacon transmitter 100 is lost or not lost. When the beacontransmitter 100 is currently designated as “not lost,” the locationserver 208 returns to block 802. When the beacon transmitter iscurrently designated as “lost,” the location server 208 proceeds toblock 808 and sends a notification to a user associated with the beacontransmitter 100. As noted, user contact information for each beacontransmitter 100 may be stored in the tracking database 212 thatidentifies a user associated with the beacon transmitter 100 who is benotified. Accordingly, in block 808, the location tracking applicationexecuting on the location server 208 may access the user contactinformation for the beacon transmitter 100 and generate a notification(e.g., an email, text message, or other data message) to the user inaccordance with the contact information.

Although FIG. 8 is described with respect to the system 200 and executedby the location server 208, the method illustrated may be applicable toother systems and executed by other devices in some embodiments.

FIG. 9 depicts a user interface for a device implementing locationreporting for a receiving device in communication with a beacontransmitter for location reporting according to embodiments of theinvention. The personal wireless device 204 generates and displays auser interface 900, for example, in response to a user selection of thebeacon transmitter 100 on an inventory interface displayed on thepersonal wireless device 204. The user interface 900 includes an image902, which may be of the beacon transmitter 100, the object 210 on whichthe beacon transmitter 100 is mounted, or the device into which thebeacon transmitter 100 is integrated. The image 902 may be stored on thepersonal wireless device 204 or the tracking database 212 and isassociated with the beacon transmitter 100 via, for example, thetransmitter identifier of the beacon transmitter 100. A map 904, showinga logged location 906 of the beacon transmitter 100 is displayed. Thelogged location 906 may be the last known location of the beacontransmitter 100 obtained from a memory of the personal wireless device204 or the tracking database 212. A timestamp 908 associated with thelogged location 906 is also illustrated on the user interface 900. Theuser interface 900 further displays information 910 about the beacontransmitter 100 (e.g., obtained from the tracking database 212 or amemory of the personal wireless device 204).

A missing device control 912 for reporting the beacon transmitter 100missing is also displayed. The personal wireless device 204 is operableto receive, via the missing device control 912, user input thatindicates that the beacon transmitter 100 (identified by the information910) is lost. The personal wireless device 204, in response,communicates lost device information to the tracking database 212including one or more of a transmitter identifier of the beacontransmitter 100, an indication that the beacon transmitter 100 is lost,a timestamp, a user identifier, user contact information, and personalwireless device identifier. In response to receiving the lost deviceinformation, the location server 208 updates the tracking database 212to indicate that the beacon transmitter 100 is lost (e.g., sets thelost/not-lost indicator to “lost”), and may update the beacontransmitter 100 data in the tracking database 212 with other of the lostdevice information as well. For example, the user contact informationassociated with the beacon transmitter 100 on the tracking database 212may be updated to contact information for the personal wireless device204 that is reporting the beacon transmitter 100 lost.

As can be appreciated based on the previous description of the system200 and related methods, after the beacon transmitter 100 is reportedlost, a second personal wireless device (similar to the personalwireless device 204) may later receive beacon data for the beacontransmitter 100 (e.g., in accordance with the method of FIG. 7) and theresulting logged data is sent to the location server 208. The locationserver 208 may then determine that the beacon transmitter 100 has beenreported lost and provide a notification to the user in accordance withthe method of FIG. 8. Accordingly, embodiments of the invention mayimplement community tracking and finding of objects (each associatedwith one of the beacon transmitters 100) using a plurality of personalwireless devices 204 and the location server 208.

Embodiments of location logging module and/or of the various locationlogging methods and techniques as described herein may be executed onone or more computer systems, which may interact with various otherdevices. One such computer system is illustrated by FIG. 10. Indifferent embodiments, computer system 1000 may be any of various typesof devices, including, but not limited to, a personal computer system,desktop computer, laptop, notebook, or netbook computer, mainframecomputer system, handheld computer, mobile telephone, workstation,network computer, a camera, a set top box, a mobile device, a consumerdevice, video game console, handheld video game device, applicationserver, storage device, a peripheral device such as a switch, modem,router, or another type of computing or electronic device. The computersystem 1000 is an example of a computer system that may be configured toimplement the location server 208 (FIG. 2), and of a computer systemthat may be configured to implement the personal wireless device 204(FIG. 2).

In the illustrated embodiment, computer system 1000 includes one or moreprocessors 1010 coupled to a system memory 1020 via an input/output(I/O) interface 1030. Computer system 1000 further includes a networkinterface 1040 coupled to I/O interface 1030, and one or moreinput/output devices 1050, such as cursor control device 1060, keyboard1070, and display(s) 1080. In some embodiments, it is contemplated thatembodiments may be implemented using a single instance of computersystem 1000, while in other embodiments multiple such systems, ormultiple nodes making up computer system 1000, may be configured to hostdifferent portions or instances of embodiments. For example, in oneembodiment some elements may be implemented via one or more nodes ofcomputer system 1000 that are distinct from those nodes implementingother elements.

In various embodiments, computer system 1000 may be a uniprocessorsystem including one processor 1010, or a multiprocessor systemincluding several processors 1010 (e.g., two, four, eight, or anothersuitable number). Processors 1010 may be any suitable processor capableof executing instructions. For example, in various embodiments,processors 1010 may be general-purpose or embedded processorsimplementing any of a variety of instruction set architectures (ISAs),such as the x86, PowerPC, SPARC, or MIPS ISAs, or any other suitableISA. In multiprocessor systems, each of processors 1010 may commonly,but not necessarily, implement the same ISA.

In some embodiments, at least one processor 1010 may be a graphicsprocessing unit. A graphics processing unit or GPU may be considered adedicated graphics-rendering device for a personal computer,workstation, game console or other computing or electronic device.Modern GPUs may be very efficient at manipulating and displayingcomputer graphics, and their highly parallel structure may make themmore effective than typical CPUs for a range of complex graphicalalgorithms. For example, a graphics processor may implement a number ofgraphics primitive operations in a way that makes executing them muchfaster than drawing directly to the screen with a host centralprocessing unit (CPU). In various embodiments, the image processingmethods disclosed herein may, at least in part, be implemented byprogram instructions configured for execution on one of, or parallelexecution on two or more of, such GPUs. The GPU(s) may implement one ormore application programmer interfaces (APIs) that permit programmers toinvoke the functionality of the GPU(s). Suitable GPUs may becommercially available from vendors such as NVIDIA Corporation, ATITechnologies (AMD), and others.

System memory 1020 may be configured to store program instructionsand/or data accessible by processor 1010. In various embodiments, systemmemory 1020 may be implemented using any suitable memory technology,such as static random access memory (SRAM), synchronous dynamic RAM(SDRAM), nonvolatile/Flash-type memory, or any other type of memory. Inthe illustrated embodiment, program instructions and data implementingdesired functions, such as those described above for variousembodiments, are shown stored within system memory 1020 as programinstructions 1025 and data storage 1035, respectively. In otherembodiments, program instructions and/or data may be received, sent orstored upon different types of computer-accessible media or on similarmedia separate from system memory 1020 or computer system 1000.Generally speaking, a computer-accessible medium may include storagemedia or memory media such as magnetic or optical media, e.g., disk orCD/DVD-ROM coupled to computer system 1000 via I/O interface 1030.Program instructions and data stored via a computer-accessible mediummay be transmitted by transmission media or signals such as electrical,electromagnetic, or digital signals, which may be conveyed via acommunication medium such as a network and/or a wireless link, such asmay be implemented via network interface 1040.

In one embodiment, I/O interface 1030 may be configured to coordinateI/O traffic between processor 1010, system memory 1020, and anyperipheral devices in the device, including network interface 1040 orother peripheral interfaces, such as input/output devices 1050. In someembodiments, I/O interface 1030 may perform any necessary protocol,timing or other data transformations to convert data signals from onecomponent (e.g., system memory 1020) into a format suitable for use byanother component (e.g., processor 1010). In some embodiments, I/Ointerface 1030 may include support for devices attached through varioustypes of peripheral buses, such as a variant of the Peripheral ComponentInterconnect (PCI) bus standard or the Universal Serial Bus (USB)standard, for example. In some embodiments, the function of I/Ointerface 1030 may be split into two or more separate components, suchas a north bridge and a south bridge, for example. In addition, in someembodiments some or all of the functionality of I/O interface 1030, suchas an interface to system memory 1020, may be incorporated directly intoprocessor 1010.

Network interface 1040 may be configured to allow data to be exchangedbetween computer system 1000 and other devices attached to a network,such as other computer systems, or between nodes of computer system1000. In various embodiments, network interface 1040 may supportcommunication via wired or wireless general data networks, such as anysuitable type of Ethernet network, for example; viatelecommunications/telephony networks such as analog voice networks ordigital fiber communications networks; via storage area networks such asFibre Channel SANs, or via any other suitable type of network and/orprotocol.

For example, when the computer system 1000 implements the personalwireless device 204, the network interface 1040 may include one or morewireless antennas to enable wireless communication with the beacontransmitter 100 and the location server 208. Additionally, when thecomputer system 1000 implements the location server 208, the networkinterface 1040 may include one or more wireless antennas to enablewireless communication with the personal wireless device 204.

Input/output devices 1050 may, in some embodiments, include one or moredisplay terminals, keyboards, keypads, touchpads, scanning devices,voice or optical recognition devices, or any other devices suitable forentering or retrieving data by one or more computer system 1000.Multiple input/output devices 1050 may be present in computer system1000 or may be distributed on various nodes of computer system 1000. Insome embodiments, similar input/output devices may be separate fromcomputer system 1000 and may interact with one or more nodes of computersystem 1000 through a wired or wireless connection, such as over networkinterface 1040.

As shown in FIG. 10, the computer system 1000 may further include aglobal navigation satellite system (GNSS) receiver 1090. The GNSSreceiver 1090 is configured to receive signals from global navigationsatellites and to determine, based on the received signals, a locationof the GNSS receiver 1090 (e.g., including a latitude, longitude, andaltitude) and time. The GNSS receiver 1090 is further configured toprovide the determined location and time to other components of thecomputer system 1000, such as the processor(s) 1010. When the computersystem 1000 implements the personal wireless device 204, the determinedlocation and time information may be used as the location and time ofthe personal wireless device 204 used in the various embodimentsdescribed herein. The GNSS receiver may, in some embodiments, be aglobal positions system (GPS) receiver.

Those skilled in the art will also appreciate that, while various itemsare illustrated as being stored in memory or on storage while beingused, these items or portions of them may be transferred between memoryand other storage devices for purposes of memory management and dataintegrity. Alternatively, in other embodiments some or all of thesoftware components may execute in memory on another device andcommunicate with the illustrated computer system via inter-computercommunication. Some or all of the system components or data structuresmay also be stored (e.g., as instructions or structured data) on acomputer-accessible medium or a portable article to be read by anappropriate drive, various examples of which are described above. Insome embodiments, instructions stored on a computer-accessible mediumseparate from computer system 1000 may be transmitted to computer system1000 via transmission media or signals such as electrical,electromagnetic, or digital signals, conveyed via a communication mediumsuch as a network and/or a wireless link. Various embodiments mayfurther include receiving, sending or storing instructions and/or dataimplemented in accordance with the foregoing description upon acomputer-accessible medium. Accordingly, the present invention may bepracticed with other computer system configurations.

Various embodiments may further include receiving, sending or storinginstructions and/or data implemented in accordance with the foregoingdescription upon a computer-accessible medium. Generally speaking, acomputer-accessible medium may include storage media or memory mediasuch as magnetic or optical media, e.g., disk or DVD/CD-ROM, volatile ornon-volatile media such as RAM (e.g. SDRAM, DDR, RDRAM, SRAM, etc.),ROM, etc., as well as transmission media or signals such as electrical,electromagnetic, or digital signals, conveyed via a communication mediumsuch as network and/or a wireless link.

FIGS. 11A-B illustrate a power tool 1100 incorporating the beacontransmitter 100 described above. The power tool 1100 includes a powertool battery pack or other power tool power supply 1102, a toolcontroller 1104, a tool motor 1106, and a tool output component 1108.The power tool power supply 1102 may include a circuit for connection toalternating current power, may include power generation components, suchas a wind or solar generator, or may be a battery pack that may includeone or more battery cells (e.g., lithium-ion cells) within a housingincludes contacts and an attachment mechanism for selectively securingand removing the power tool battery pack to the power tool 1100. Thetool controller 1104 is coupled to and powered by the power tool powersupply 1102, and controls the tool motor 1106 to drive the tool outputcomponent 1108. The tool output component 1108 may be, for example, adrill chuck, as illustrated in FIG. 11B. The tool controller 1104 maycontrol the tool motor 1106 based on user input received via user inputcomponent 1110, which may be, for example, a trigger, as illustrated inFIG. 11B. The power tool 1100 may further include a tool housing 1112(FIG. 11B) that house the tool controller 1104, the tool motor 1106, andthe beacon transmitter 100.

The beacon transmitter 100 may be coupled to the tool controller 1104and the power tool power supply 1102. For example, the beacontransmitter 100 may be powered by the power tool power supply 1102 whenpresent, and by the battery 110 of the beacon transmitter 100 when thepower tool power supply 1102 is not coupled to the power tool 1100.Additionally, the beacon transmitter 100 may communicate with the toolcontroller 1104 to, for example, (i) obtain tool usage data stored on amemory of the tool controller 1104 (e.g., obtained by sensors of thepower tool 1100) to send to the personal wireless device 204 and/or (ii)provide tool configuration data (e.g., that is sent to the toolcontroller 1104 for storage on a memory thereof) received from thepersonal wireless device 204. The beacon transmitter 100, whenincorporated into the power tool 1100, may store within the memory 160(see FIG. 1) identifying information for the power tool 1100, such as aproduct identifier (e.g., identifying the type of power tool) and aserial number (e.g., uniquely identifying the particular instance of thepower tool). This identifying information of the power tool 1100 mayalso be provided by the beacon transmitter 100 as part of the beacondata transmitted with the second advertising beacon signal 414-422 notedabove.

The power tool 1100, as illustrated in FIG. 11B, is a hammerdrill/driver. However, the power tool 1100 is merely exemplary, andother power tools may have the beacon transmitter 100 incorporatedtherein. Additionally, other devices may have the beacon transmitter 100incorporated therein, such as test and measurement equipment, batterypacks (e.g., the power tool power supply 1102), vacuum cleaners, worksite radios, outdoor power equipment, and vehicles. Such an incorporatedbeacon transmitter 100 may be powered by a battery of the device inwhich the beacon transmitter 100 is incorporated, similar to that whichis described with respect to the power tool 1100.

Further, in some embodiments, the beacon transmitter 100 is incorporatedinto a repeater device that receives other beacon signals (e.g., similarto the beacon signals emitted by the beacon transmitter 100) and repeats(i.e., transmits) those beacon signals using beaconing techniques asdescribed herein, such as described with respect to FIG. 3-6.

The various methods as illustrated in the Figures and described hereinrepresent example embodiments of methods. The methods may be implementedin software, hardware, or a combination thereof. The order of method maybe changed, and various elements may be added, reordered, combined,omitted, modified, etc.

Various modifications and changes may be made as would be obvious to aperson skilled in the art having the benefit of this disclosure. It isintended that the invention embrace all such modifications and changesand, accordingly, the above description to be regarded in anillustrative rather than a restrictive sense.

Thus, the invention provides, among other things, a systems and methodsfor location logging of transmission devices. Various features andadvantages of the invention are set forth in the following claims.

What is claimed is:
 1. A signaling method for communicating and logginga location of an object, the method comprising: transmitting repeatedly,by a beacon transmitter, a first beacon signal through a first number oftransmission repetitions spaced at a first repeat interval; withholdingtransmission, by the beacon transmitter, during a transition intervalthat occurs after completing the first number of transmissionrepetitions; and transmitting repeatedly, by the beacon transmitter, asecond advertising beacon signal through a second number of transmissionrepetitions at a second repeat interval, wherein the second advertisingbeacon signal includes an identifier that provides identification of thebeacon transmitter and user information.
 2. The method of claim 1,wherein the first repeat interval is of a length different from a lengthof the second repeat interval.
 3. The method of claim 1, wherein thefirst repeat interval is of a fixed length different from a fixed lengthof the second repeat interval.
 4. The method of claim 1, wherein thefirst beacon signal is a signal alerting a receiving application on apersonal wireless device to the presence of the beacon transmitter. 5.The method of claim 1, wherein the user information includes at leastone selected from the group of user contact information and a useridentifier.
 6. The method of claim 1, wherein the first beacon signal isa signal using a first open protocol for alerting a receivingapplication to the presence of the beacon transmitter; and the secondadvertising beacon signal is a signal using a second proprietaryprotocol for providing identification of the beacon transmitter.
 7. Themethod of claim 1, wherein the first repeat interval is of a length thatis less than 1/50th of a length of the second repeat interval.
 8. Themethod of claim 1, further comprising, after completing the secondnumber of transmission repetitions, the beacon transmitter returns tothe repeatedly transmitting the first beacon signal through the firstnumber of transmission repetitions spaced at the first repeat interval.9. A signaling system for communicating and logging a location of anobject, the system comprising: a wireless antenna configured to transmita first beacon signal and a second advertising beacon signal; and amemory storing instructions executable on an electronic processor,wherein the instructions when executed by the electronic processor causethe wireless antenna to: repeatedly transmit the first beacon signalthrough a first number of transmission repetitions spaced at a firstrepeat interval; after completing the first number of transmissionrepetitions, withhold transmission during a transition interval; andrepeatedly transmit the second advertising beacon signal through asecond number of transmission repetitions at a second repeat interval,wherein the second advertising beacon signal includes an identifier thatprovides identification of the beacon transmitter and user information.10. The system of claim 9, wherein the first repeat interval is of alength different from a length of the second repeat interval.
 11. Thesystem of claim 9, wherein the first beacon signal is a signal includingdata configured to alert a receiving application to the presence of abeacon transmitter including the wireless antenna and transmitting thesecond advertising beacon signal, and the second advertising beaconsignal is a signal including data configured to identify the beacontransmitter transmitting the second advertising beacon signal.
 12. Thesystem of claim 9, wherein the first beacon signal is a signal using afirst open protocol for alerting a receiving application to the presenceof a beacon transmitter including the wireless antenna transmitting thesecond advertising beacon signal, and the second advertising beaconsignal is a signal using a second proprietary protocol for providingidentification of the beacon transmitter transmitting the secondadvertising beacon signal.
 13. The system of claim 9, further comprisinga beacon transmitter having a housing with a first mounting hole and asecond mounting hole, the housing supporting the wireless antenna, thememory, and the electronic processor, and the first mounting hole andthe second mounting hole configured to secure the beacon transmitter tothe object.
 14. The system of claim 9, further comprising a power toolhaving a housing that houses a beacon transmitter including the wirelessantenna, the memory, the electronic processor, and a tool motor.
 15. Alocation recording method, the method comprising: receiving wirelessly,by a personal wireless device having an electronic processor, a firstbeacon signal from a beacon transmitter; responsive to receiving thefirst beacon signal, activating a dormant transmitter location loggingapplication on the electronic processor of the personal wireless device;listening, by the transmitter location logging application, for a secondadvertising beacon signal; receiving wirelessly, by the personalwireless device, the second advertising beacon signal from the beacontransmitter; determining, by the personal wireless device, a location ofthe personal wireless device; and transmitting, by the personal wirelessdevice to an external database, an identity of the beacon transmitterand the location of the personal wireless device as a proxy for alocation of the beacon transmitter.
 16. The method of claim 15, wherein:the second advertising beacon signal is a signal providingidentification of the beacon transmitter.
 17. The method of claim 15,wherein: the first beacon signal is a signal configured according to afirst open protocol for alerting a receiving application to the presenceof the beacon transmitter transmitting the second advertising beaconsignal, and the second advertising beacon signal is a signal configuredaccording to a second proprietary protocol for providing identificationof the beacon transmitter.
 18. The method of claim 15, wherein thepersonal wireless device that receives the first beacon signal includesan operating system, and the activating of the dormant transmitterlocation logging application further comprises the operating systemactivating the dormant transmitter location logging application.
 19. Themethod of claim 15, wherein the second advertising beacon signalincludes a transmitter identifier and at least one selected from thegroup including: a user identifier, user contact information, atimestamp, and a state of charge of a battery of the beacon transmitter.20. The method of claim 15, further comprising: waiting, by the personalwireless device, through a first number of transmission repetitionsspaced at a first repeat interval; after the first number oftransmission repetitions, waiting, by the personal wireless device,during a transition interval; and receiving, by the personal wirelessdevice, the second advertising beacon signal through a second number oftransmission repetitions at a second repeat interval.